С помощью схемы XML можно определить типы используемых данных. Но, кроме этого, необходимо принять еще ряд соглашений о способе передачи данных и их типов по сети. С этой целью протокол SOAP (Simple Object Access Protocol — простой протокол доступа к объектам), использует язык XML. (Иными словами, язык XML сам выступает в качестве протокола.)
Тип данных, передаваемых по протоколу SOAP, определяется с помощью схемы XML. Но протокол SOAP разработан гораздо раньше, чем была завершена работа над спецификацией Схема XML (XML Schema). Поэтому эти две спецификации несколько отличаются. Отличие состоит в следующем. Схема XML описывает иерархическую, или древовидную структуру. Протокол SOAP предназначен для представления объектов, а объекты могут иметь куда более сложные отношения, чем иерархические. Классы, например, могут иметь несколько родительских классов. Как мы увидим дальше, данное отличие проявилось также и в усложнении Web-служб. В данный момент Консорциум W3C пытается согласовать протокол SOAP со Схемой XML (XML Schema).
Протокол SOAP версии 1.1 для передачи данных может использовать не только
протокол передачи гипертекстовых файлов HTTP, но и несколько других транспортных
протоколов.
Протокол SOAP используется Web-службами различных платформ Microsoft, а не
"только в .NET. Компания Microsoft выпустила комплект инструментальных
средств SOAP Toolkit (Инструментарий SOAP), с помощью которого можно разрабатывать
Web-службы на базе любой Windows-платформы. Но поддержка SOAP встроена в .NET.
В состав SOAP Toolkit (Инструментарий SOAP) входит сервисная программа SOAP
Trace Utility (Утилита трассировки SOAP), которая особенно полезна при отслеживании
обычных и форматированных сообщений, передаваемых по протоколу SOAP.